The present invention relates to a digital watermark embedding device and a digital watermark detection device suited to protect a copyright and to control use of data on digital literary properties represented by images and the like by embedding into the data, information (to be referred to as xe2x80x98watermark informationxe2x80x99 hereinafter), such as discrimination information on copyright owners and users of the data, information on the right of the copyright owners, conditions for using the data and confidential information necessary to use the data, in a state in which the watermark information is not easily perceived and then by detecting corresponding watermark information from data into which the watermark information is embedded at need.
In recent years, there is a growing interest in the copyright of digital literary properties such as an image (a static image, a dynamic image), voice data, music data, design data, CG (computer graphic) data and text data. As one of techniques for protecting the digital literary properties, there is known a digital watermark technique.
The digital watermark technique is mainly aimed to protect the copyright of the data and control use thereof by embedding, i.e., concealingly inputting into a digital literary property, watermark information (xe2x80x98WMxe2x80x99 information) such as discrimination information on the copyright owner and users of the data, information on the right of the copyright owner, conditions for using the data and confidential information necessary to use the data, in a state in which the watermark information cannot be easily perceived.
For the purpose of this type, the digital watermark technique is required to satisfy, in particular, the following characteristics:
(1) Robustness Characteristics
Watermark information is difficult to remove from a literary property and to lose even by various data operations (filtering process, data compression/expansion, D/A conversion, A/D conversion and the like). If data is intentionally manipulated to remove the watermark information, data quality greatly deteriorates.
(2) Perceptual Invisibility Characteristics
The literary property into which watermark information is embedded is perceived similarly as the original literary property.
The digital watermark technique is also required to have embedding efficiency for efficiently embedding watermark information, detection efficiency for efficiently detecting watermark information and the like.
Now, as a typical method of embedding watermark information into, for example, image data by means of the digital watermark technique, there is known a method of converting image data into frequency domains and then embedding watermark information to a specific frequency component.
FIG. 1 is a block diagram showing the constitution of a conventional digital watermark embedding device 200 for embedding watermark information into the image data.
In the device 200, orthogonal transform, such as DFT (discrete Fourier transform), DCT (discrete cosine transform), wavelet transform or Hadamard transform, is conducted to image data in pixel value domain which is a target for embedding of watermark information, by an orthogonal transform section 201 and frequency component value data forming image data in frequency domain is obtained.
Next, watermark (WM) information is embedded into a specific frequency component in the image data in frequency domain in the form of noise having a peak by a digital watermark embedding section 202. The watermark information embedding is conducted in the digital watermark embedding section 202 as follows.
First, based on the frequency component data forming the image data in frequency domain, an embedding frequency component selection section 202a selects a frequency component suited for embedding of watermark information, e.g., a frequency component having a peak in case of embedding the above-stated watermark information as noise. The frequency component variation decision section 202b determines the variation of this frequency component value. The frequency component change section 202c changes the frequency component value forming the image data in frequency domain by a variation determined by the frequency component variation decision section 202b and thereby generates frequency component value data on the image into which the watermark information has been embedded.
Next, inverse transform of the orthogonal transform which has been conducted by the orthogonal transform section 201, is conducted to the image data in frequency domain, into which watermark information has been embedded by the digital watermark embedding section 202, by a reverse-orthogonal transform section 203, to thereby obtain image data in pixel value domain into which watermark information has been embedded.
Thus, the watermark information embedded by the digital watermark device 200 shown in FIG. 1 is embedded into the image data in pixel value domain in a state in which the watermark information is dispersed to the entire image and, therefore, robust against various operations. In addition, if the frequency component into which watermark information is embedded is the frequency component of an intermediate frequency or higher, the watermark information is not lost even by a low frequency pass filter which causes the loss of the LSB information of the image data.
With the constitution shown in FIG. 1, since it is necessary to perform orthogonal transformation twice by means of orthogonal transform, heavy load processing is required. Normally, therefore, an image is first divided into a plurality of blocks. For example, it is assumed that the number of pixels of a certain image in horizontal direction and vertical direction are W and H, respectively. The image is divided into a plurality of rectangular blocks each of which includes w and h pixels in horizontal and vertical directions, respectively. While a pixel positioned on upper-left end point in the image is set as an origin, the number of pixels is counted. If a pixel is in the x-th row and the y-th column, the position of the pixel is expressed as (x, y). If a certain pixel satisfies the following relationships: ixc3x97wxe2x89xa6x less than (i+1)xc3x97w and hxc3x97hxe2x89xa6y less than (j+i)xc3x97h, then it belongs to a block positioned in the i-th row in horizontal direction and the j-th column in vertical direction. All of or part of the blocks obtained by dividing the image are subjected to orthogonal transformation, respectively and watermark information is embedded into the blocks.
If orthogonal transform is used to embed watermark information, the quantity of embedding operation is the order of the square of a processed block size. As the block size is larger, the operation quantity considerably increases. Due to this, dedicated hardware is needed if watermark information is embedded into, for example, a dynamic image.
FIG. 2 is a block diagram showing the constitution of a conventional digital watermark detection device 210 for detecting corresponding watermark information from the image data into which watermark information has been embedded by the digital watermark embedding device 200 shown in FIG. 1.
In the device 201, image data in frequency domain is converted to frequency component value data forming image data in frequency domain by orthogonally transforming the image data in pixel value domain into which watermark information has been embedded by an orthogonal transform section 211. Next, a digital watermark detection section 212 detects watermark information having a peak in a specific frequency component from the frequency component value data.
To embed watermark information into target data so that the watermark information is not likely to be lost by various operations, there is proposed a method for spreading and embedding watermark information into a wide range of data by the spread spectrum technique.
FIG. 3 is a block diagram showing the constitution of a conventional digital watermark embedding device 220 for embedding image data while using spread spectrum of PN (pseudo-random number) sequence.
In the device 220, a pixel value at each point in pixel value domain of an image which is a target for embedding of watermark information, is subjected to direct spread spectrum (SS) technique, i.e., the pixel value is multiplied by the pseudo-random number of {xe2x88x921, 1} referred to as PN sequence generated by a PN sequence generation section 220F, by a spread spectrum section 220A. Then, orthogonal transform, such as DCT transform, is conducted to the pixel value at each point in pixel value domain, to which the spread spectrum is conducted, by an orthogonal transformation section 220B, thereby obtaining frequency component value data forming the spread spectrum image data in frequency domain.
Next, a digital watermark embedding section 220C embeds watermark information in the form of noise having a peak in a specific frequency component in the spread spectrum image data in frequency domain. Then, inverse transform of the orthogonal transform previously conducted by the orthogonal transform section 220B is conducted to the spread spectrum image data in frequency domain into which the watermark information has been embedded, by a reverse-orthogonal transformation section 220D, thereby obtaining spread spectrum image data in pixel value domain into which the watermark information has been embedded. Thereafter, inverse spectrum spreading of the spread spectrum previously conducted by the spread spectrum section 220A is conducted to the spread spectrum image data in pixel value domain into which the watermark information has been embedded, by an inverse spectrum spreading section 220E, thereby obtaining image data in pixel value domain into which the watermark information has been embedded.
As stated above, according to the method for conducting spread spectrum using PN sequence and orthogonal transform and then embedding watermark information into target data, the frequency component into which watermark information is embedded may not be necessarily an intermediate frequency component since spread spectrum using PN sequence is conducted. If watermark information is embedded in the form of a peak, inverse spectrum spreading has an effect of thinly dispersing the watermark information into a wide range of frequency components.
The watermark information embedding as stated above may be possibly effective against data operation by A/D (analog/digital) conversion, D/A (digital/analog) conversion and data compression and expansion, as well. However, since A/D conversion, D/A conversion and data compression and expansion have a great effect on image data, watermark information embedding is desirably conducted by spreading the information into as wide a range as possible.
FIG. 4 is a block diagram showing the constitution of a conventional digital watermark detection section 230 for detecting corresponding watermark information from the image data into which watermark information has been embedded by the digital watermark embedding device 220 shown in FIG. 3.
In the device 230, spread spectrum is conducted to the image data in pixel value domain, into which watermark information has been embedded, by a spread spectrum section 231, using the PN sequence generated by a PN sequence generation section 234. Then, orthogonal transform, such as DCT transform, is conducted to a pixel value at each point in pixel value domain to which the spread spectrum has been conducted, by an orthogonal transformation section 232, and frequency component data forming spread spectrum image data in frequency domain is thereby obtained. Thereafter, watermark information having a peak in a specific frequency component is detected from the obtained frequency component value data by a digital watermark detection section 233.
Further, a technique for embedding watermark information by a patchwork method has been conventionally proposed. FIG. 5 shows the block diagram of a conventional digital watermark embedding device employing this technique.
In a digital watermark embedding device 240 shown in FIG. 5, two pixels are first selected as a pair  less than (ax, ay), (bx, by) greater than  from the pixel value data on an image into which is a target for embedding of watermark information, by a pixel value pair generation section 241.
Next, if 1 is embedded as watermark information, for example, the pixel value a of the first component in the pair, i.e., the first component (ax, ay) is incremented by 1 by the first component change section 242, whereas the pixel value b of the second component in the pair, i.e., the second component (bx, by) is decremented by 1 by the second component change section 243. If 0 is embedded as watermark information, by contrast, the pixel value of the first component is decremented by 1 by the first component change section 242, whereas the pixel value of the second component is incremented by 1 by the second component change section 243. The above-stated operation is conducted to a plurality of pairs selected at random so as not to overlap each other by the pixel value pair generation section 241.
As a result, if the number of pixels is sufficiently high, the statistically significant difference is expected between the distribution of pixel values of the first components in respective pairs and that of the pixel values of the second components in the respective pairs, as shown in FIG. 6.
FIG. 7 is a block diagram showing the constitution of a conventional digital watermark detection device for detecting corresponding watermark information from the image data into which watermark information has been embedded by the digital watermark embedding device 240 shown in FIG. 5 by means of a patchwork method.
In a digital watermark detection device 250 shown in FIG. 7, the same pair of pixels as those generated by the pixel value pair generation section 241 in the digital watermark embedding device 250 shown in FIG. 5, are generated by a pixel value pair generation section 261. The average of pixel values in the first component of the respective pairs is calculated by the first component average calculation section 262 and the average of pixel values in the second component of the respective pixels is calculated by the second component average calculation section 263.
Next, in an average comparison section 264, the two average values are compared and embedded watermark information is detected (recovered) by judging that 1 is embedded if the average of the pixel values in the first component is higher, and that 0 is embedded if the average of the pixels values in the second component is higher.
The above-stated conventional digital embedding and detection techniques have advantage in that watermark information is difficult to lose by various operations. On the other hand, these techniques, which require orthogonal transform such as DCT transform, have disadvantage in that complexity of computation for embedding and detecting watermark information and a hardware cost are large. That is, DCT transform is a kind of transform introduced by transforming form DFT and the complexity of computation is the same order. A processing of DFT can be performed with high speed by FFT algorithm, and, theoretically, the complexity of computation of the FFT for data of data size N is given as O (Nxc3x97log N).
Complexity of computation is roughly evaluated using, for example, a static image of W wide by H high. If this static image is divided into blocks of w wide by h high, the complexity of computation per block for the DCT transform is given as O (hxc3x97wxc3x97log w+wxc3x97hxc3x97log h)=O (wxc3x97hxc3x97log (wxc3x97h)). While the total number of blocks is (W/w)xc3x97(H/h), the total complexity of computation is:
O((W/w)xc3x97(H/h)xc3x97wxc3x97hxc3x97log(wxc3x97h))=O(Wxc3x97Hxc3x97log(wxc3x97h)).
The calculation ratio of a case where an image is a block per se to a case where an image is divided into blocks of w wide by h high is:
(log(Wxc3x97H))/(log(wxc3x97h)).
Here, if W=wxc3x972q and H=hxc3x972r, then
xe2x80x83(log(Wxc3x97H))/(log(wxc3x97h)).=(1+(p+q)/log2(wxc3x97h).
For example, if W=H=1024=1024 and w=h=32=25, then q=r=5 and (1+(p+q)/log2(wxc3x97h)=2. It follows that the processing speed at which an image is divided into small blocks each having a side which is {fraction (1/32)} as small as that of an image and DCT transform is conducted to the small blocks is about twice as fast as that at which DCT transform is conducted to an entire image.
However, since the hardware cost is large to mount FFT to a large size of the block with hardware, actually, the hardware mounting is often adapted to perform processing by repeatedly using small FFT. The complexity of computation in this case still becomes the order of the second power of the data size.
How wide the region into which watermark information can be dispersed and embedded will be depends on the complexity of computation of orthogonal transform such as DCT transform and time allowed to embed and detect the watermark information. If it is possible to take sufficient time to embed and detect watermark information, efficiency is not an important factor. From the viewpoint of robustness characteristics, if embedding and detection time falls within a realistic range, it is desirable to set the size of a block to be as large as possible.
In case of using watermark information for the control of use and rating, however, it is impossible to take a lot of time to detect watermark information. In case of using watermark information for finger print, it is impossible to take a lot of time to embed watermark information, either.
As stated above, according to the conventional digital watermark embedding and detection technique, in spite of the fact that it is desirable to select a large block size (such as 512xc3x97512 pixels and 720xc3x97720 pixels) and thinly and widely disperse watermark information in view of robustness characteristics and perceived non-revealment characteristics, processing for embedding and detecting watermark information cannot be efficiently conducted due to the problem of cost required for the calculation for orthogonal transform. As a result, the conventional technique is disadvantageous in that there is no other choice but to select a small block size (such as 16xc3x9716 pixels or 32xc3x9732 pixels) and to embed watermark information into the small blocks in case of application requiring high efficiency in the embedding and detection of watermark information.
Meanwhile, according to the conventional digital watermark embedding and detection technique by means of the patchwork method, although it is not required to conduct orthogonal transform such as DCT transform, image data into which watermark information is embedded does not have statistically uniform property. Owing to this, if the number of pixel pairs selected (generated) at random is small, no basis is formed on which it is judged whether the difference in statistical distribution between the first component and the second component in the pairs is due to the embedding operation or a failure to generate sufficient number of pixel pairs, for which reason statistical difference originally exists between the pairs selected by chance. As a result, the conventional technique is disadvantageous in that it requires sufficient number of pairs to make the statistically significant difference in distribution between the first and second components in the respective pairs after embedding operation and in that it is difficult to estimate the necessary number of pixel pairs to be generated during embedding and detection in advance.
It is, therefore, an object of the present invention to provide a digital watermark embedding device capable of efficiently embedding watermark information into target data even if a large block size is selected to divide the data.
It is another object of the present invention to provide a digital watermark detection device capable of efficiently detecting embedded watermark information even if large block size of information is selected or an entire image per se is treated as one block.
It is yet another object of the present invention to provide a digital watermark embedding device and a digital watermark detection device capable of estimating the necessary number of pixel pairs to be generated while watermark information is being embedded and detected by employing a patchwork method.
A digital watermark information according to the present invention is characterized by comprising an input section which inputs pixel value data of an image which is a target for embedding of watermark information; an embedded position selection section which determines a position in frequency domain into which the watermark information is to be embedded, irrespectively of a frequency component value; a frequency component value variation decision section which determines a variation of a frequency component value at each embedded position determined by the embedded position selection section; a pixel value variation calculation section which calculates a variation of a pixel value at each point in pixel value domain of the image based on the embedded position in frequency domain determined by the embedded position selection section and on the variation of a frequency component value determined by the frequency component value variation decision section; a pixel value conversion section which embeds watermark information by changing corresponding pixel value data of the image in accordance with the variation of a pixel value at each point in pixel value domain calculated by the pixel value variation calculation section; and an output section which outputs pixel value data of the image into which watermark information has been embedded.
As described above, with this constitution, watermark information is embedded not in frequency domain as in the conventional device but in pixel value domain. To this end, in the above constitution, a pixel value variation calculation section is provided to embed watermark information in pixel value domain. The pixel value variation calculation section calculates the variation of a pixel value at each point in pixel value domain, based on the position into which watermark information is to be embedded (embedded position) and on the variation of a frequency component value at that position. Although the calculation for obtaining the variation of a pixel value requires an arithmetic operation for obtaining matrix elements of orthogonal transform, the operation quantity is considerably small compared with that of orthogonal transform.
Here, it is possible to easily calculate the variation of a pixel value by the arithmetic operation in which when it is assumed that a variation of a pixel value at each point in pixel value domain of the image is xcex94f(x), the embedded position in frequency domain determined by the embedded position selection section is u and the variation of a frequency component value determined by the frequency component value variation decision section is xcex94F(u), the pixel value variation calculation section calculates an i-th matrix element Axe2x88x921(xi, ui) of orthogonal transform and calculates a variation xcex94f(x) of a pixel value from a calculation result in accordance with a formula:
xcex94f(x(1), . . . , x(n))=Axe2x88x921(x(1), u(1))xc2x7 . . . xc2x7Axe2x88x921(x(n), u(n))xc2x7xcex94F(u(1), . . . , u(n)),
where n is an integer equal to or higher than 1.
In this way, by conducting embedding of watermark information in pixel value domain, the above-stated constitution dispenses with orthogonal transformation for converting pixel value domain to frequency domain and inverse orthogonal transformation for converting frequency domain to pixel value domain conducted after embedding of watermark information in frequency domain, that is, dispenses with two orthogonal transformations which result in great complexity of computation, thereby making it possible to embed watermark information at high speed.
It is noted, however, that the conventional digital watermark technique is capable of determining a watermark information embedded position and the variation of a frequency component value from the frequency component value data of an image obtained by converting pixel value domain to frequency domain, whereas the above-stated constitution is not capable of dynamically determining a watermark information embedded position and the variation of a frequency component value. Nevertheless, since the above constitution dispenses with the conventionally required two orthogonal transformations and allows the size of a block as a unit for watermark embedding processing to be set sufficiently large compared with the conventional case, it is possible to diffuse and embed watermark information into a wide range. Thus, no problem occurs even if the watermark information embedded position is not determined from the frequency component data of the image.
It is, particularly, more desirable that the device is constituted such that a direct sequence spread spectrum method is applied to the above constitution, a pseudo-random number generation section, which generates a pseudo-random number by which a pixel value at each point in pixel value domain of the image is multiplied for spread spectrum, is provided, the variation of a pixel value at each point in pixel value domain of the image is calculated by the pixel value variation calculation section, based on the embedded position in frequency domain determined by the embedded position selection section, on the variation of a frequency component value determined by the frequency component value variation decision section and on the pseudo-random number corresponding to each point in the pixel value domain of the image and generated by the pseudo-random number generation section. This is because such a constitution makes it less necessary to dynamically determine the watermark information embedded position and the variation of a frequency component value in dependence on the frequency component data of the image.
If this spread spectrum method is employed, the variation of a pixel value can be calculated easily by the arithmetic operation in which when it is assumed that a variation of a pixel value at each point in pixel value domain of the image is xcex94f(x), the embedded position in frequency domain determined by the embedded position selection section is u, the variation of a frequency component value determined by the frequency component value variation decision section is xcex94F(u) and the pseudo-random number generated by the pseudo-random number generation means is p(x), the pixel value variation calculation section calculates an i-th matrix element Axe2x88x921(xi, ui) of orthogonal transform and calculates a variation xcex94f(x) of a pixel value from a calculation result in accordance with a formula:
xe2x80x83xcex94f(x(1), . . . , x(n))=p(x(1), . . . , x(n))xc2x7Axe2x88x921(x(1), u(1))xc2x7 . . . xc2x7Axe2x88x921(x(n), u(n))xc2x7xcex94F(u(1), . . . , u(n)),
where n is an integer equal to or higher than 1.
In addition, as for the variation of a frequency component value, it is possible to predetermine a variation which is higher than the absolute value of frequency component values at almost all embedded positions. In that case, no problem occurs even if orthogonal transform is not conducted.
To determine an embedded position, for example, a technique for setting a fixed position in frequency domain of the image as an embedded position, a technique for setting a position calculated from user inherent information as an embedded position and the like can be employed. Besides, a technique in which a fixed position is not set as an embedded position, information on the first number frame is fixed but the following embedded positions are determined based on the information read from the fixed frame (in which technique, watermark information is embedded in the first number frame with a predetermined fixed embedded position set as an embedded position, and a certain determined calculation is made according to the watermark information in the first number frame, thereby making it possible to calculate embedded positions in the following frames), a technique for setting a position calculated from user inherent information as an embedded position, a technique for passing an embedded position by means other than watermark information (in which technique, the method of calculating a watermark information embedded position is preset, the data used for embedding of watermark information and necessary for the calculation is fed to the digital watermark detection device not as watermark information embedded into image data but as data different from the image data and the digital watermark detection device calculates an embedded position from the received data and then determines the embedded position), a technique for generating an embedded position using random numbers, a technique for making the random number series different according to users and the like can be employed.
Further, if a plurality of embedded positions in frequency domain are determined for each block, a beat might possibly occur, depending on the embedded positions. Therefore, the embedded position selection section may be provided with a function of judging whether or not a beat occurs between a plurality of frequencies (a beat estimation section). Thus, every time an embedded position candidate is generated, this judging function judges the validity of the candidate. Namely, if it judges that the candidate is inappropriate, the candidate is discarded. If it judges that the candidate is appropriate, the candidate is selected as an element of a group of embedded positions. To do so, the embedded position selection section may consist of a frequency generation section which generates a plurality of embedded position candidates and a beat judging section which inputs a plurality of embedded position candidates generated by the frequency generation section, judges the degree of a beat based on the relationships of frequency component values among the candidates and selects and outputs a group of a predetermined number of embedded positions which can avoid the influence of the beat. It goes without saying that the embedded position selection section can be originally constituted to determine an embedded position which does not cause a beat (i.e., a watermark frequency).
Additionally, as for the variation of a frequency component value, a variation which is preset based on the frequency distributions of frequency component values for a plurality of images may be used. It is more desirable to employ a constitution that a digital watermark detection section, which calculates the frequency component value at the watermark information embedded position based on the image into which the watermark information is embedded by the pixel value conversion section and which feeds back the frequency component value or watermark information recovered from the frequency component value to the frequency component value variation decision section, is provided and that the variation of a frequency component value is adaptively changed based on the frequency component value or the watermark information fed back by this digital watermark detection section. It is further more desirable to employ a constitution that a filtering section, which inputs the image into which watermark information is embedded and which conducts predictable data operation to the image, is provided between the pixel value conversion section and the digital watermark detection section, that the digital watermark detection section calculates a frequency component value at the watermark information embedded position based on the image which has been subjected to this data operation, and that the frequency component value or the watermark information recovered from the frequency component value is fed back to the frequency component value variation decision section.
Furthermore, it is possible to employ a constitution that a frequency component value calculation section, which calculates a frequency component value at each embedded position determined by the above embedded position selection section based on a pixel value at each point in the pixel value domain of the image, is provided and that the frequency component value variation decision section determines the variation of a frequency component value at each embedded position based on the frequency component value at each embedded position. If the spread spectrum method is used, a frequency component value calculation section, which calculates a frequency component value at each embedded position determined by the embedded position selection section based on each embedded position, on a pixel value at each point in the pixel value domain of the image and on the pseudo-random number generated by the pseudo-random number generation section and corresponding to each point in the pixel value domain of the image, may be provided and the frequency component value variation decision section may determine the variation of a frequency component value at each embedded position based on the frequency component value at each embedded position.
In this way, by obtaining a frequency component value at an embedded position, i.e., frequency component values at a small number of points and thereby determining the variation of a frequency component value, it is possible to make a setting such that perceived influence on the image may be reduced and that the variation of a frequency component value due to embedding may be suppressed to be small while using information on general properties about the variation of a frequency component value under various operations (such as a property that the variation of any frequency component value falls within a certain range).
Next, a digital watermark detection device for inputting pixel value data of an image into which watermark information is embedded and detecting the watermark information, according to the present invention is characterized by comprising an embedded position selection section which determines a position in frequency domain into which the watermark information is embedded; a frequency component value calculation section which calculates a frequency component value at each embedded position based on pixel value data of an image into which the watermark information has been embedded and on each embedded position determined by the embedded position selection section; and a watermark information recovery section which recovers the watermark information based on the frequency component value at each embedded position calculated by the frequency component value calculation section.
In this way, with the above constitution, a frequency component value at each embedded position determined by the embedded position selection section is calculated based on a pixel value at each point in the pixel value domain of the image into which watermark information has been embedded and watermark information is recovered based on the frequency component value at the embedded position. Due to this, compared with the conventional detection device which converts the pixel value data of the image into which watermark information is embedded from that in pixel value domain to that in frequency domain by orthogonal transform, acquires frequency component data forming the image data in frequency domain and detects watermark information from the frequency component value data, the device according to the present invention does not require conducting orthogonal transform to thereby decrease the operation quantity and to allow high-speed processing.
Here, the frequency component value can be easily calculated by the arithmetic operation in which when it is assumed that a pixel value at each position in pixel value domain of the image into which the watermark information is embedded is f(x) and the embedded position in frequency domain determined by the embedded position selection section is u, the frequency component value calculation section calculates an i-th matrix element A(ui, xi) of orthogonal transform and calculates a frequency component value F(u) at the embedded position u from a calculation result in accordance with a formula:
xcex94F(u(1), . . . , u(n))=xcexa3x(0) . . . xcexa3x(n)Axe2x88x921(x(1), u(1))xc2x7 . . . xc2x7Axe2x88x921(x(n), u(n))xc2x7xcex94f(x(1), . . . , x(n)).
Further, in the digital watermark detection device which employs a direct sequence spread spectrum method and treats an image into which watermark information is embedded as a target for detection of the watermark information, a frequency component value at each embedded position is calculated by the frequency component value calculation section based on the pixel value data of the image into which the watermark information is embedded, on each embedded position determined by the embedded position selection section and on the pseudo-random number series used for spread spectrum. Thus, high-speed processing can be realized.
Here, the frequency component value can be easily calculated by the arithmetic operation in which when it is assumed that a pixel value at each position in pixel value domain of the image into which the watermark information is embedded is f(x), the embedded position in frequency domain determined by the embedded position selection section is u and the pseudo-random number generated by the pseudo-random number generation means is p(xi), the frequency component value calculation section calculates an i-th matrix element A(ui, xi) of orthogonal transform and calculates a frequency component value F(u) at the embedded position u from a calculation result in accordance with a formula:
xcex94F(u(1), . . . , u(n))=xcexa3x(0) . . . xcexa3x(n)p(x(1), . . . , x(n))xc2x7Axe2x88x921(x(1), u(1))xc2x7 . . . xc2x7Axe2x88x921(x(n), u(n))xc2x7xcex94f(x(1), . . . , x(n)).
Meanwhile, it is possible to constitute a digital watermark embedding and detection device provided with both the digital watermark embedding function of the above digital watermark embedding device and the digital watermark detection function of the above digital watermark detection device. In this device, parts common to the both functions are shared between them, thereby making the constitution simple.
Moreover, the present invention is characterized by comprising an input section which inputs pixel value data of an image which is a target for embedding watermark information; a frequency component pair generation section which determines a pair of frequency components at positions in frequency domain into which the watermark information is to be embedded, irrespectively of a frequency component value; a pseudo-random number generation section which generates a pseudo-random number by which a pixel value at each point in pixel value domain of the image is multiplied for spread spectrum; a direct sequence spectrum spreading section which outputs pixel value data spectrum-spread by multiplying pixel value data of the image by the pseudo-random number generated by the pseudo-random number generation section; an orthogonal transformation section which orthogonally transforms the pixel value data spectrum-spread by the direct sequence spectrum spreading section and generates frequency component value data; a first component change section which changes a frequency component value, generated by the orthogonal transformation section, of the first component in the pair of frequency components at the embedded positions generated by the frequency component pair generation section, using a value of the watermark information; a second component change section which changes a frequency component value, generated by the orthogonal transformation section, of the second component in the pair of frequency components at the embedded positions generated by the frequency component pair generation section, using the value of the watermark information, the second component change section changing the frequency component in an opposite direction to that for the change by the first component change means; a reverse-orthogonal transformation section which reverse-orthogonally transforms the frequency component value data changed by the first component change section and the second component change section, and which outputs pixel value data; an inverse spectrum spreading section which conducts inverse spectrum spreading by multiplying the pixel value data outputted from the reverse-orthogonal transformation section by the pseudo-random number generated by the pseudo-random number generation section, and which outputs pixel value data of the image into which the watermark information has been embedded; and an output section which outputs the pixel value data of the image into which the watermark information has been embedded.
As described above, the constitution of the device is characterized in that the patchwork method is not directly applied to the pixel value data of an image but that direct sequence spectrum spreading is conducted by multiplying the pixel value data of the image by the PN sequence random number value, the resultant image data is subjected to orthogonal transformation, a pair of frequency components are generated at random for the transformed image data and thereafter the patchwork method is applied.
The frequency component data obtained by subjecting the image data to orthogonal transformation by direct sequence spectrum spreading has statistically almost uniform distribution close to normal distribution. Therefore, even if the number of frequency component pairs at embedded positions selected at random is small, the statistically significant difference occurs between the frequency component value distributions of the first component (one component) and the second component (the other component) of the pairs after change operations of the first and second component change sections, by the change operations, thereby making significant watermark embedding possible. This facilitates estimating, in advance, the necessary number of pixel pairs to be generated during embedding of watermark information.
Furthermore, a digital watermark detection device, which employs a new patchwork method stated above, inputs the pixel value data of an image into which watermark information is embedded and detects watermark information, a digital watermark detection device for inputting pixel value data of an image into which watermark information is embedded and detecting the watermark information, according to the present invention is characterized by comprising a frequency component pair generation section which determines a pair of frequency components at positions in frequency domain into which the watermark information is to be embedded, irrespectively of a frequency component value; a pseudo-random number generation section which generates a pseudo-random number by which a pixel value at each point in pixel value domain of the image is multiplied for spread spectrum; a direct sequence spectrum spreading section which outputs pixel value data spectrum-spread by multiplying pixel value data of the image at each point in pixel value domain by the pseudo-random number generated by the pseudo-random number generation section; an orthogonal transformation section which orthogonally transforms the pixel value data spectrum-spread by the direct sequence spectrum spreading section and generates frequency component value data; a first component average calculation section which calculates an average of frequency component values, generated by the orthogonal transformation section, of the first component in the pairs of frequency components at respective embedded positions generated by the frequency component pair generation section; a second component average calculation section which calculates an average of frequency component values, generated by the orthogonal transformation section, of the second component in the pairs of frequency components at respective embedded positions generated by the frequency component pair generation section; and an average comparison section which compares the two averages calculated by the first component average calculation section and the second component average calculation section, and recovers the watermark information based on the comparison result.
As stated above, if conducting direct sequence spectrum spreading by multiplying the pixel value data of the image into which watermark information is embedded by the PN sequence random number value, subjecting the resultant image data to orthogonal transformation and calculating averages of the first component and second component in the frequency component pair at the watermark embedded positions, respectively, then averages close to normal distributions can be obtained. This allows the embedded watermark information to be recovered (detected) with high accuracy by comparing the averages and facilitates estimating, in advance, the necessary number of pixel pairs to be generated during the detection of watermark information.
As described so far in detail, according to the present invention, during embedding of watermark information, even if a large block size is selected, calculation costs required for direct sequence spectrum spreading, inverse spectrum spreading, orthogonal transform and reverse-orthogonal transform can be made lower, therefore, high-speed embedding of watermark information can be realized. Owing to this, while there has been conventionally no other choice but to mount the device as hardware in view of performance, it is possible to mount the device or functions as software according to the present invention. In addition, if the function of embedding watermark information is to be realized by a hardware circuit, it can be realized at lower hardware cost than the conventional cost.
Further, according to the present invention, it is possible to prevent the loss of watermark information against various operations including, for example, D/A conversion and A/D conversion while a large block size is selected and the visual degradation of the image is suppressed to be small.
Moreover, according to the present invention, by embedding watermark information at high speed, it is possible to realize a fingerprinting device for embedding information on users and transfer destinations when data such as an image is used and transferred.
Additionally, according to the present invention, by detecting watermark information at high speed, it is possible to apply the present invention to a case of embedding information on control of use and copy control and descramble keys into data such as image, to transfer these pieces of information together with the data and to detect the information instantly when they are used.
According to the present invention, by detecting and embedding a digital watermark at high speed, use method such that the use control, copy control information, and descramble key are extracted from the data of the image etc., the watermark information is erased immediately, another watermark information is superimposed, and watermark information is altered in another watermark information based on those information is possible, when distributing and using.
Furthermore, according to the present invention, even if the orthogonal transformation in which FFT is used is not performed, since a high-speed embedding or detection is possible, the size of the block need not be set in the power of two, and the block of an arbitrary size can be selected. Therefore, to the image and the block with a size different from the power of two, special processing need not be performed about the remainder or the lack part. In addition, when watermark information of arbitrary size (n) is embedded into the image of arbitrary size (Wxc3x97H) by using this character, special processing to the remainder and the lack part caused by division need not be performed by the block division of w=W/n1, h=H/n2 and n1xc3x97n2xe2x89xa7n.
Furthermore, according to the present invention, the patchwork method is not directly applied to the pixel value data of an image. But, after spread spectrum is conducted by multiplying the pixel value data of the image by the PN sequence random number, the resultant image data is subjected to orthogonal transformation, a pair of frequency components at embedded positions are generated at random for the transformed image data and then the patchwork method is applied. By doing so, even if the number of frequency component pairs at embedded positions is small, the statistically significant different occurs between the distributions of frequency component values of the first and second components in the pair after change operations are conducted to the first and second components, respectively. As a result, it is possible to realize significant watermark embedding and highly accurate watermark detection, thereby providing higher-speed processing.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.